import { Injectable } from '@angular/core';
import { environment } from '@env/environment';
import { _HttpClient } from '@delon/theme';

@Injectable({ providedIn: 'root' })

export class SplcService {
    constructor(
        private http: _HttpClient,
    ) { }


    /**
     * 车间表查询
     * @param page  string 页码
     * @param limit  string 每页显示数量
     * @param docType  string 文档类型
     * @param docLevel  string 文档级别
     * @param sysOrg  string 部门编号
     * @param sysTimeStart  string 筛选-开始日期yyyy-MM-dd
     * @param sysTimeEnd  string 筛选-截止日期yyyy-MM-dd
     * @param status  string 筛选-0未盯控、1正在盯控、2已经完成
     */
    query_table(param) {
        const dataurl = environment.problem + '/auditProcess/query';
        return this.http.get(dataurl, param);
    }



    /**
     * 
     * @param docUrl
     */
    getDoc(param) {
        const dataurl = environment.problem + '/auditProcess/toEditDocPage';
        return this.http.get(dataurl, param, { responseType: 'text' });
    }



    /**
     * 文档类型
     */
    getWdlx() {
        const dataurl = environment.apiBase + '/csmis/sysdict/getSysdictsByClass.jwt?dictClass=AUDIT_DOC_TYPE';
        return this.http.get(dataurl);
    }

    /**
     * 删除文档
     * @param id 从表主键集合
     * @param "docFiveUrl": "string", 1到5
     */
    deleteDoc(param) {
        const dataurl = environment.problem + '/auditProcess/deldoc';
        return this.http.post(dataurl, param);
    }
    /**
     * 删除
     * @param ids 从表主键集合
     */
    delete(ids) {
        const dataurl = environment.problem + '/auditProcess/deleteBatch';
        return this.http.post(dataurl, { ids });
    }




    /**
     * 流转
     * @param pid (string): 外键
     * @param status (string): 流转状态
     * @param targetOrg (string, optional): 目标机构、分管领导（编号）
     * @param targetOrgName (string, optional): 目标机构、分管领导（名称）
     * 0,已保存（工区保存、车间保存、科室保存）
     * 1,工区提报（工区提报到车间）
     * 2,车间提报（车间提报工区提报的、车间提报自己新增的）
     * 3,车间驳回（车间驳回工区提报的）
     * 4,科室驳回（科室驳回车间提报的，科室驳回科室提报的，）
     * 5,科室提报（科室提报自己新增的，科室提报车间提报的）
     * 6,提报到分管领导（科室提报到分管领导）
     * 7,分管领导驳回（分管领导驳回科室提报的）
     * 8,分管领导同意（分管领导领导同意科室提报的，直接返回到提报科室）
     * 9,办公室返回（办公室盖章返回到提报科室）
     * 10,已完结（流转终结）
     * a.工区没有完成任务按钮
     * b.除了已保存和已完结状态，其他状态均可以执行已完结操作
     * c.本部门提报状态的数据，本部门不能执行已完结操作
     */
    flow(param) {
        const dataurl = environment.problem + '/auditProcessLog/flow';
        return this.http.post(dataurl, param);

    }

    /**
     * 完成
     * @param ids 主键集合
     */
    finishBatch(ids) {
        const dataurl = environment.problem + '/auditProcess/finishBatch';
        return this.http.post(dataurl, { ids });
    }


    /**
     * 查询分管领导
     */
    getLeaders() {
        const url = environment.apiBase + '/csmis/person/getDldPerson.jwt';
        return this.http.get(url);
    }


    /**
     * 部门
     * @param view all 配合部门，去掉就是牵头部门
     */
    getBm() {
        const dataurl = environment.project + '/sysTOrg/getAllDep';
        return this.http.get(dataurl);
    }
    /**
     * 部门
     * @param view all 配合部门，去掉就是牵头部门
     */
    getBmAll() {
        const dataurl = environment.apiBase + '/csmis/getPublicOrgTree.jwt';
        return this.http.get(dataurl);
    }

}